perm filename PALSAI.OLD[PNT,HE] blob sn#417617 filedate 1979-02-10 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	BEGIN "PALSAI"
C00005 ENDMK
C⊗;
BEGIN "PALSAI"
COMMENT THIS PROGRAM IS USED TO TAKE THE PAL FILE INTOP2.PAL AND MAKE IT
	SAIL READABLE BY PRODUCING JUST THE MAKEOP DEFINITIONS
	AND REWRITING THEM OUT ONTO INTOPS.SAI[PNT,HE];

INTEGER RCHAN,RBRCHAR,REOF,RFLAG;
INTEGER WCHAN,WBRCHAR,WEOF,WFLAG;

OPEN(RCHAN←GETCHAN,"DSK",0,2,0,1000,RBRCHAR,REOF);
LOOKUP(RCHAN,"INTOPS.PAL[AL,HE]",RFLAG);
IF RFLAG THEN OUTSTR("
COULD NOT LOOKUP FILE INTOPS.PAL[AL,HE]
")
	ELSE BEGIN "FOUNDFILE"
	STRING LINE,WORD,GARB;
	INTEGER BRCHAR;
	INTEGER CRBREAK,CHARBREAK,WORDENDBREAK;
	SETBREAK(CRBREAK←GETBREAK,'15,'12&'14,"ISNK");
	SETBREAK(CHARBREAK←GETBREAK,"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",NULL,"IKR");
	SETBREAK(WORDENDBREAK←GETBREAK,"ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",NULL,"XKR");
	OPEN(WCHAN←GETCHAN,"DSK",0,0,2,0,0,0);
	ENTER(WCHAN,"INTOPS.SAI",WFLAG);
	OUT(WCHAN,"COMMENT ⊗ This file is written by program PALSAI.
	Any changes made by E will not hold once PALSAI is run again. ⊗;

");
	WHILE NOT REOF DO
		BEGIN "GETALINE"
		LINE←INPUT(RCHAN,CRBREAK);
		IF LENGTH(LINE) > 6 THEN
			BEGIN
			IF EQU(LINE[1 TO 6] ,"MAKEOP") THEN
			BEGIN "MAKEOP"
			OUT(WCHAN,"MAKEOP(");
			LINE←LINE[7 TO ∞];
			GARB←SCAN(LINE,CHARBREAK,BRCHAR);
			WORD←SCAN(LINE,WORDENDBREAK,BRCHAR);
			OUT(WCHAN,WORD&",");
			GARB←SCAN(LINE,CHARBREAK,BRCHAR);
			WORD←SCAN(LINE,WORDENDBREAK,BRCHAR);
			OUT(WCHAN,WORD&")
");
			END;
		END;
		END "GETALINE";
	CLOSE(WCHAN);
	RELEASE(WCHAN);
	END "FOUNDFILE";
END "PALSAI";